Liens modèles et code

Au programme aujourd’hui

Plan

Base de la conception Orientée Objet

Conception OO

Révisions

Liens entre diagrammes

fig enchainement2016 sujet

Liens entre diagrammes (correction)

fig enchainement2016

Liens entre diagrammes (suite)

Points perdus :

Code 1

package m;

import java.io.Serializable;

public class BonCommande implements Serializable{
	private static final long serialVUID = -4243...;
	private long ref;
	private String motif;
	private String obs;
	private double montant;

...

}

DC 1

BonCommande

Code 2

package m;

import ...;

public class Facture implements Serializable {
	private static final long serialVersionUID...;
	private String lieu;
	private Date date;
	private int numJournee;
	private Client client;
	private ArrayList<BonCommande> bc;

...
}

DC 2

Facture

DC final (Model Package)

Complet

Subtilités

Attention à la redondance!

Incorrect

DC final (Reverse from actual code)

classdiagram

MVC

package c;
...
public class Controleur {

	private MainWindow mw;
	private ClientWindow cw;
	private HistoryWindow hw;
	private Facture f;
	private ArrayList<Client> lc;
	private ArrayList<Facture> af;
  ...
}

Question : combien d’attributs dans le diagramme de classe complet?

MVC (DC)

MVC

Réponse : 0!

package c;
...
public class Controleur {

	private MainWindow mw;
	private ClientWindow cw;
	private HistoryWindow hw;
	private Facture f;
	private ArrayList<Client> lc;
	private ArrayList<Facture> af;
  ...
}

Association ⇒ dépendances

Et pas l’inverse!!

MVC2

Exemple de dépendance sans association

public class Xorg {
  ...
  public void methode(Schpuntz s) {
    ...
  }
  ...
}
dep

DS et code java

class B {
    C c;
    methode1 (p:Type) {
        c.message2 ();
        c.message3 (p);
    }
}
class C {
    methode2 () {
        ...
    }
    methode3 (p:Type) {
        ...
    }

DS et code java

class B {
    C c;
    methode1 (p:Type) {
        c.message2 ();
        c.message3 (p);
    }
}
class C {
    methode2 () {
        ...
    }
    methode3 (p:Type) {
        ...
    }
DS

QCM

Q1

Q2

Q3

Q4

Q5

MVC simple

Q5

Q6

Q7

Q8

q8

Q9

q9

Q9

Q10

Q11

Q12

Q13

Q14

Q15

q15

Q15

Q16

Q17

Q18

Q19

Q20

q20

Q20

OLE

Projet

Bilan sur les projets en Cascade

Problèmes actuels

Points importants pour la suite

criteres

Points pour la suite

The End       (for me!)